package imotech.ejb.dao;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import imotech.ejb.api.CalendarAPI;
import imotech.ejb.api.SmsAPI;
import imotech.ejb.model.Imovel;
import imotech.ejb.model.Visita;

@Stateless
public class VisitaDAOBean implements VisitaDAO {

	@PersistenceContext(unitName="imotech-ejb")
	private EntityManager em;
	@EJB
	private SmsAPI smsAPI;
	@EJB
	private CalendarAPI calendarAPI;
	
	@Override
	public void agendar(Imovel imovel, Visita visita) {
		em.persist(visita);
		
		try {
			calendarAPI.addEvent(visita.getData(), visita.mensagemLembrete());
			smsAPI.send(visita.getTelefone(), visita.mensagemLembrete());
		} catch(Exception e) {
			e.printStackTrace(System.err);
		}
	}

}
